To establish a multicast tree from a source which provides multicast content to several hosts which desire to receive the traffic, two general approaches are Dynamic IP Multicast and Static IP Multicast. In dynamic multicast, a multicast protocol such as Protocol Independent Multicast-Sparse Mode (PIM-SM) or Protocol Independent Multicast-Source Specific Mode (PIM-SMM) is used to create and propagate the multicast tree from multicast hosts to a multicast source. In static multicast, the multicast protocol is not responsible for establishing and propagating the multicast tree. Rather, establishment of the multicast tree is effected by other means such as network management or through configuration.
In PIM-SM, a shortest path tree (SPT) can not be established directly between the source and hosts because the hosts are unaware of the identification of the source. The hosts can only identify the content as belonging to a multicast group. Rendezvous Points (RPs) are routers used as temporary waypoints in order to assist in creation of the SPT. AU routers have access to an identical mapping between multicast groups and RPs, one RP being associated with each group. When a router receives an IGMP-JOIN(*,G) or a PIM-JOIN(*,G) message, the router establishes a route towards the RP associated with the group. As numerous routers establish routes to the RP, an RP tree (RPT) is established. The router connected to the source (the source router) has the same mapping between RPs and groups. When the source begins transmitting IP packets for a group, the source router starts registration of the packets with the RP by encapsulating the IP packets and forwarding them to the RP. As the routers within the RPT connected to the hosts receive the IP packets via the RPT, they learn the identification of the source, create SPT routes to the source, and tear down the routes to the RP. The RTP is thereby converted into a SPT.
In PIM-SMM, the hosts are aware of the source of the multicast content for a given group. In an example of PIM-SMM being used for broadcasting TB channels, when a user selects a channel to watch, a set top box (STB) determines the multicast group G and a source S for the channel and sends an IGMP JOIN(S,G) message to a host router. The multicast group is defined by a Class D IP address within the range 224/4. The host router first establishes internal connections between an outgoing interface (OIF) to the STB and an incoming interface (IIF) to the next router. The host router then determines the next router through which the source can be reached, and forwards a PIM JOIN(S,G) message to the next upstream router. The next router creates its own internal connections and forwards the PIM JOIN(S,G) message to an upstream router towards the source S. This is repeated until a PIM JOIN(S,G) message reaches either the router attached to the source or reaches a router which already has (S,G) state.
If any router receives a PIM JOIN(S,G) message and the multicast distribution tree is already supported for (S,G) at the router because a PIM JOIN(S,G) or an IGMP JOIN(S,G) for the same source and group have already been received from a different router or another host, then the router simply establishes the internal connection between the OIF through which the newly arrived PIM JOIN(S,G) message arrived and the IIF which leads to the source.
In PIM-SM, if a host no longer wishes access to the group, the host sends an IGMP LEAVE(*,G) message to the host router. The host router first removes the connection between the OIF of the host and the IIF leading to the RP. If no other hosts are currently willing to receive traffic for the same group, then the host router then sends a PIM PRUNE(*,G) message to the upstream router towards the RP. This is repeated by the upstream routers until either the RP or a router supporting more than one host for the group is reached, at which point the internal connection to the OIF is removed and the PIM PRUNE(*,G) message is not forwarded.
In PIM-SMM, if a host no longer wishes access to the group, the host sends an IGMP LEAVE(S,G) message to the host router. The host router first removes the connection between the OIF of the host and the IIF leading to the next upstream router. If no other hosts are currently willing to receive traffic for the same group and from the same source then the host router then sends a PIM PRUNE(S,G) message to the upstream router. This is repeated by the upstream routers until either the source router or a router supporting more than one host for the group and source is reached, at which point the internal connection to the OIF is removed and the PIM PRUNE(S,G) message is not forwarded.
In both flavors of PIM protocol, a shortest path tree between multiple hosts and a source is eventually generated and maintained as hosts request access to or leave the group and the source. Dynamic multicast results in efficient use of interfaces, since each IIF in each router is generally shared by each downstream host, and each OIF in each router is generally shared by each downstream host of a downstream router. However, in applications in which hosts leave and join groups frequently, users may experience undesirable delay as RPTs and SPTs are established, torn down, or altered. An example of such an application is TV broadcasting.
In TV broadcasting applications of IP multicasting, users may frequently switch the channel being watched as they scan channels for content or switch between channels during commercials. When a user switches between a first channel and a second channel, the STB first sends an IGMP LEAVE(S1,G1) message to the host router which may then send a PIM PRUNE(S1,G1) message upstream. The STB then sends an IGMP JOIN(S2,G2) message to the host router which may then send a PIM JOIN(S2,G2) message upstream. Each time a user switches channels, a portion of the shortest path tree is torn down and a new shortest path tree or portion of a shortest path tree is created. This consumes processing power at the routers, and more importantly (for the customer) can result in unacceptable delay in channel surfing because the PIM-SMM messages are transmitted around the network to tear down the old multicast tree and rebuild a new one.
Static multicasting provides a solution to this problem. The multicast distribution tree is established once for each multicast group (or channel) from end-user hosts to multicast source without using any multicast protocol. To setup a static multicast tree from a host for group G to a multicast source S, the multicast connections should be created on each router from the host router to the multicast source, similar to the PIM-SMM protocol. However, static multicast lacks the flexibility offered by dynamic multicast in automatic creation and maintenance of SPT trees as groups are added. Static multicast also requires that OIFs and IIFs be reserved for SPT trees, even if there are no hosts currently receiving multicast content over the SPT tree.
A system which allowed the coexistence of static multicast and dynamic multicast without conflict would allow the advantages of each multicast method to be realized. Such a system must allow PIM-SM and PIM-SSM protocols to run in a network in which static multicast states are provisioned, without resulting in tearing down or corruption of the static multicast SPTs. Such a system should allow addition or removal of dynamic multicast states and static multicast states independently of each other. In this way, more commonly used groups may be established using static multicast and paths of less commonly used groups may be accessed only as needed using the dynamic multicast. This would provide less delay to users as they switch between commonly used groups while maintaining efficient use of router resources.